Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UISACQCOMP-166: configure the plugin via props #726

Merged
merged 12 commits into from
Nov 9, 2023
Merged

Conversation

alisher-epam
Copy link
Contributor

Purpose

UISACQCOMP-166 - make component configurable via props in order to hide "Add donors" and remove buttons.

Approach

Pre-Merge Checklist

Before merging this PR, please go through the following list and take appropriate actions.

  • I've added appropriate record to the CHANGELOG.md
  • Does this PR meet or exceed the expected quality standards?
    • Code coverage on new code is 80% or greater
    • Duplications on new code is 3% or less
    • There are no major code smells or security issues
  • Does this introduce breaking changes?
    • If any API-related changes - okapi interfaces and permissions are reviewed/changed correspondingly
    • There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

  • What other modules will these changes impact?
  • Do JIRAs exist to update the impacted modules?
    • If not, please create them
    • Do they contain the appropriate level of detail? Which endpoints/schemas changed, etc.
    • Do they have all they appropriate links to blocked/related issues?
  • Are the JIRAs under active development?
    • If not, contact the project's PO and make sure they're aware of the urgency.
  • Do PRs exist for these changes?
    • If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment. Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.

While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

Copy link

github-actions bot commented Nov 7, 2023

Jest Unit Test Statistics

    1 files  ±0  145 suites  +2   3m 35s ⏱️ -25s
382 tests +5  381 ✔️ +5  1 💤 ±0  0 ±0 
384 runs  +5  383 ✔️ +5  1 💤 ±0  0 ±0 

Results for commit 1b88905. ± Comparison against base commit 0b6d10c.

This pull request removes 2 and adds 7 tests. Note that renamed tests count towards both.
AddDonorButton should render component ‑ AddDonorButton should render component
DonorsContainer should render Loading component ‑ DonorsContainer should render Loading component
Donors should render Loading component ‑ Donors should render Loading component
Donors should render component ‑ Donors should render component
DonorsContainer should call `setDonorIds` when `onAddDonors` is called ‑ DonorsContainer should call `setDonorIds` when `onAddDonors` is called
DonorsContainer should not render `DonorsLookup` when `showTriggerButton` is false ‑ DonorsContainer should not render `DonorsLookup` when `showTriggerButton` is false
DonorsLookup should render component ‑ DonorsLookup should render component
getDonorsListFormatter should return object with name, code and unassignDonor functions ‑ getDonorsListFormatter should return object with name, code and unassignDonor functions
getUnAssignDonorFormatter should return object with name, code and unassignDonor functions ‑ getUnAssignDonorFormatter should return object with name, code and unassignDonor functions

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 7, 2023

BigTest Unit Test Statistics

0 tests  ±0   0 ✔️ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ±0 

Results for commit 1b88905. ± Comparison against base commit 0b6d10c.

♻️ This comment has been updated with latest results.

Copy link
Contributor

@usavkov-epam usavkov-epam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of the comments are about the single responsibility and KISS principles. I understand that similar implementation (information about contacts in an organization, for example) has been living in code for a long time, but I think this is another reason to strive for better.

lib/DonorsList/DonorsList.js Outdated Show resolved Hide resolved
lib/DonorsList/DonorsList.js Outdated Show resolved Hide resolved
lib/DonorsList/DonorsList.js Outdated Show resolved Hide resolved
lib/DonorsList/AddDonorButton.js Outdated Show resolved Hide resolved
lib/DonorsList/AddDonorButton.js Show resolved Hide resolved
lib/DonorsList/AddDonorButton.js Outdated Show resolved Hide resolved
lib/DonorsList/AddDonorButton.js Outdated Show resolved Hide resolved
lib/DonorsList/AddDonorButton.js Outdated Show resolved Hide resolved
@usavkov-epam usavkov-epam requested a review from a team November 7, 2023 12:48
lib/Donors/utils.js Outdated Show resolved Hide resolved
lib/Donors/utils.js Outdated Show resolved Hide resolved
@@ -16,12 +20,16 @@ export const DonorsList = ({
id,
visibleColumns,
}) => {
const stripes = useStripes();
const canViewOrganizations = stripes.hasPerm('ui-organizations.view');
const defaultFormatter = isEmpty(formatter) || getDonorsListFormatter({ canViewOrganizations });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need isEmpty here? Moreover:

isEmpty(undefined) || getDonorsListFormatter(..) // true ??
isEmpty({ foo: 'bar' }) || getDonorsListFormatter(..)  // default formatter even we passed one through the props ??

just:

export const DonorsList = ({
  ..
  formatter: formatterProp,
  ..
}) => {
..
const formatter = useMemo(() => formatterProp || getDonorsListFormatter({ canViewOrganizations }), [formatterProp, canViewOrganizations]);
..

Copy link

sonarqubecloud bot commented Nov 8, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

91.3% 91.3% Coverage
0.0% 0.0% Duplication

@alisher-epam alisher-epam requested review from a team, BogdanDenis, mariia-aloshyna and NikitaSedyx and removed request for a team November 8, 2023 14:14
@alisher-epam alisher-epam merged commit be0e6f9 into master Nov 9, 2023
5 checks passed
@alisher-epam alisher-epam deleted the UISACQCOMP-166 branch November 9, 2023 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants